from pyecharts.charts import Calendar
from pyecharts import options as opts
import datetime
import random
from kit import *


def calender_plot(all_data):
    a, b, c = to_date(all_data.row_values(1)[0])
    begin = datetime.date(a, b, c)  # 这个时间为开始的时间
    a, b, c = to_date(all_data.row_values(all_data.nrows - 1)[0])
    end = datetime.date(a, b, c)  # 结束时间

    data = [  # 数据输入 格式['2020-01-01', 2953]
        [str(begin + datetime.timedelta(days=i)), all_data.col_values(1)[i + 1]]
        for i in range((end - begin).days + 1)
    ]
    c = (
        Calendar()
            .add("", data, calendar_opts=opts.CalendarOpts(
            range_="2020",
        ),
                 )  # 和begin end要对应
            .set_global_opts(
            toolbox_opts=opts.ToolboxOpts(),

            title_opts=opts.TitleOpts(title=all_data.name),
            visualmap_opts=opts.VisualMapOpts(
                max_=15000,
                min_=0,
                orient="horizontal",  # 分类的位置摆放是打横的；不输入就是打竖的
                is_piecewise=True,  # 如果是False，相当于调整下面的进度；默认分类是五类
                # 分类别的位置 ，可以任意调整

                pos_top="230px",

                pos_left="10px",
            ),
        )
            .render("calendar_base.html")
    )
